package com.junyu.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.junyu.pojo.dto.ChangeEm;
import com.junyu.pojo.dto.ChangePw;
import com.junyu.pojo.dto.FindPw;
import com.junyu.pojo.entity.User;
import com.junyu.pojo.dto.LoginParam;
import com.junyu.pojo.vo.LoginLogVo;
import javafx.collections.MapChangeListener;

/**
 * 登录service类
 */
public interface LoginService extends IService<User> {
    /**
     *登录
     * @param loginParam
     * @return LoginLogVo 登录日志对象
     */
    LoginLogVo login(LoginParam loginParam);

    /**
     * 修改密码
     * @param changePw 修改密码参数
     */
    void changePassword(ChangePw changePw);

    /**
     * 修改邮箱
     * @param changeEm 修改邮箱参数
     */
    void changeEmail(ChangeEm changeEm);

    /**
     * 找回密码
     * @param userName 用户名
     * @param code 验证码
     * @param newPassword 新密码
     * @param email 邮箱
     */
    void findPassword(FindPw findPw);

    /**
     * 退出登录
     */
    void logout();

    /**
     * 获取验证码
     * @param userName 用户名
     * @param email 邮箱
     */
    void getCode(String userName, String email);

    /**
     * 记住密码
     * @param password 密码
     * @param email 邮箱
     */
    void rememberPassword(String password, String email);
}
